Method for url analysis and electronic device thereof

ABSTRACT

A method and apparatus for analyzing a URL included in contents and displaying the analyzed result is provided. The method includes detecting a URL from contents, analyzing the URL, and displaying the analyzed result.

PRIORITY

The present application is related to and claims the benefit under 35U.S.C. §119(a) of a Korean patent application filed in the KoreanIntellectual Property Office on Sep. 11, 2013 and assigned Serial No.10-2013-0109099, the entire disclosure of which is hereby incorporatedby reference.

TECHNICAL FIELD

The present disclosure relates to a method for analyzing a uniformresource locator (URL) and an electronic device thereof.

BACKGROUND

As information and communication technologies and semiconductortechnologies have been developed, various electronic devices have beendeveloped into multimedia devices, each of them for providing variousmultimedia services. For example, each of the electronic devices mayprovide the various multimedia services such as a broadcasting service,a wireless Internet service, a camera service, or a music play service.

When selection of a URL included in contents (e.g., documents, messages(short message service (SMS) message, multimedia message service (MMS)message, and long message service (LMS) messages), messengers, andmails) by a user of the electronic device is sensed, the electronicdevice executes an Internet program, connects to a corresponding URL,and provides a corresponding service.

As described above, when a URL is included in contents, there is aninconvenience in that the electronic device may not acquire informationabout the corresponding URL before directly connecting to thecorresponding URL.

SUMMARY

To address the above-discussed deficiencies, it is a primary object toprovide an apparatus and method for detecting a URL from contents,analyzing the URL, and displaying the analyzed result in an electronicdevice.

Another aspect of the present disclosure is to provide an apparatus andmethod for verifying whether at least one of “http://”, “https://”,“ftp://”, “irc://”, “gopher://”, telnet://, “nntp://”, and“worldwind://” is included in a URL to detect the URL from contents inan electronic device.

Another aspect of the present disclosure is to provide an apparatus andmethod for verifying whether a URL is harmful using a harmful sitedatabase stored in a memory or a server in an electronic device.

Another aspect of the present disclosure is to provide an apparatus andmethod for verifying whether a URL is redirected using an ACKnowledge(ACK) message to a URL connection request in an electronic device.

Another aspect of the present disclosure is to provide an apparatus andmethod for analyzing a redirected final URL in an electronic device.

Another aspect of the present disclosure is to provide an apparatus andmethod for verifying whether a file download is linked to a URL in anelectronic device.

Another aspect of the present disclosure is to provide an apparatus andmethod for temporarily downloading a file and verifying at least one ofa name, a type, a capacity, a made date, and a corrected date of thefile in an electronic device.

Another aspect of the present disclosure is to provide an apparatus andmethod for verifying whether a file is an installable file in anelectronic device.

Another aspect of the present disclosure is to provide an apparatus andmethod for verifying an authority requested when installing a file in anelectronic device.

Another aspect of the present disclosure is to provide an apparatus andmethod for temporarily installing a file and verifying an authorityrequested when installing the file in an electronic device.

In accordance with an aspect of the present disclosure, a method ofcontrolling a URL in an electronic device is provided. The methodincludes detecting a URL from contents, analyzing the URL, anddisplaying the analyzed result.

In accordance with another aspect of the present disclosure, anelectronic device is provided. The electronic device includes at leastone processor, at least one display, at least one memory, and at leastone program which is stored in at least the one memory and is configuredto be executable by at least the one processor, wherein the at least oneprocessor is configured to detect a URL from contents, analyze the URL,and display the analyzed result.

Before undertaking the DETAILED DESCRIPTION below, it may beadvantageous to set forth definitions of certain words and phrases usedthroughout this patent document: the terms “include” and “comprise,” aswell as derivatives thereof, mean inclusion without limitation; the term“or,” is inclusive, meaning and/or; the phrases “associated with” and“associated therewith,” as well as derivatives thereof, may mean toinclude, be included within, interconnect with, contain, be containedwithin, connect to or with, couple to or with, be communicable with,cooperate with, interleave, juxtapose, be proximate to, be bound to orwith, have, have a property of, or the like; and the term “controller”means any device, system or part thereof that controls at least oneoperation, such a device may be implemented in hardware, firmware orsoftware, or some combination of at least two of the same. It should benoted that the functionality associated with any particular controllermay be centralized or distributed, whether locally or remotely.Definitions for certain words and phrases are provided throughout thispatent document, those of ordinary skill in the art should understandthat in many, if not most instances, such definitions apply to prior, aswell as future uses of such defined words and phrases.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present disclosure and itsadvantages, reference is now made to the following description taken inconjunction with the accompanying drawings, in which like referencenumerals represent like parts:

FIG. 1 is a block diagram illustrating a configuration of an electronicdevice according to embodiments of the present disclosure;

FIG. 2 is a block diagram illustrating a detailed configuration ofhardware according to embodiments of the present disclosure;

FIG. 3A is a block diagram illustrating a detailed configuration of aprogramming module according to embodiments of the present disclosure;

FIG. 3B is a block diagram illustrating a detailed configuration of aURL processing unit and a URL information providing unit according toembodiments of the present disclosure;

FIG. 4 is a flowchart illustrating a process of analyzing a URL includedin contents in an electronic device according to embodiments of thepresent disclosure;

FIG. 5 is a flowchart illustrating a process of analyzing a URL includedin a message in an electronic device according to embodiments of thepresent disclosure;

FIG. 6 is a flowchart illustrating a process of analyzing a redirectedURL included in a message in an electronic device according toembodiments of the present disclosure;

FIG. 7 is a flowchart illustrating a process of analyzing whether a URLincluded in a message is linked to a file download in an electronicdevice according to embodiments of the present disclosure;

FIG. 8 is a flowchart illustrating a process of analyzing an authorityrequested when installing a file linked to a URL included in a messagein an electronic device according to embodiments of the presentdisclosure; and

FIGS. 9A, 9B, 9C, 9D, 9E and 9F are screens illustrating a process ofdisplaying an analyzed result of a URL included in a message in anelectronic device according to embodiments of the present disclosure.

DETAILED DESCRIPTION

FIGS. 1 through 9F, discussed below, and the various embodiments used todescribe the principles of the present disclosure in this patentdocument are by way of illustration only and should not be construed inany way to limit the scope of the disclosure. Those skilled in the artwill understand that the principles of the present disclosure may beimplemented in any suitably arranged electronic device. Exemplaryembodiments of the present disclosure will be described herein belowwith reference to the accompanying drawings. In the followingdescription, well-known functions or constructions are not described indetail since they would obscure the disclosure in unnecessary detail.

An electronic device according to various embodiments of the presentdisclosure may be one or a combination of one or more of various deviceswhich include a smart phone, a tablet personal computer (PC), a mobilephone, a video phone, an e-book reader, a desktop PC, a laptop PC, anetbook computer, a personal digital assistant (PDA), a portablemultimedia player (PMP), a moving picture experts group (MPEG) layer 3(MP3) player, a mobile medical device, an electronic bracelet, anelectronic necklace, electronic accessories, a camera, a wearabledevice, an electronic watch, a wristwatch, smart home appliances (e.g.,a refrigerator, an air conditioner, a cleaner, a cybot, a television(TV), a digital versatile disc (DVD) player, an audio, an oven, amicrowave oven, a washing machine, an air cleaner, and an electronicpicture frame), various medical devices (e.g., a magnetic resonanceartery (MRA), a magnetic resonance imaging (MRI), a ct (ComputedTomography), an imaging apparatus, and a ultrasonic machine), anavigation device, a global positioning system (GPS) receiver, an eventdata recorder (EDR), a flight data recorder (FDR), a set-top box, a TVbox (e.g., SAMSUNG HOMESYNC, APPLE TV, or GOOGLE TV), an electronicdictionary, a car infotainment device, electronic equipment for a ship(e.g., a navigation device for ship and a gyrocompass), an airelectronic device, a security device, electronic clothes, an electronickey, a camcorder, a game console, a head mounted display (HMD), a flatpanel display, an electronic album, a part of furniture or abuilding/structure including a communication function, an electronicboard, an electronic signature input device, a projector, or any othersuitable device. It is obvious to a person skilled in the art that theelectronic device according to various embodiments of the presentdisclosure is not limited to the above-described devices.

FIG. 1 is a block diagram illustrating configuration of an electronicdevice according to one embodiment of the present disclosure.

Referring to FIG. 1, the electronic device denoted by 100 includes a bus110, a processor 120, a memory 130, a user input module 140, a displaymodule 150, and a communication module 160.

The bus 110 may be a circuit which may connect components (e.g., theprocessor 120, the memory 130, the user input module 140, the displaymodule 150, or the communication module 160) included in the electronicdevice 100 with each other and transmit communication (e.g., a controlmessage) between the components.

The processor 120 may receive commands from the components included inthe electronic device 100 through the bus 110, decode the receivedcommands, and perform calculations or data processing according to thedecoded commands.

The memory 130 stores commands or data which are received from theprocessor 120 or other components (e.g., the user input module 140, thedisplay module 150, and the communication module 160) or are generatedby the processor 120 or other components. For one example, the memory130 may store harmful site information (URL or Internet Protocol (IP)).For another example, the memory 130 may store URL detection information(e.g., “http://”, “https://”, “ftp://”, “irc://”, “gopher://”,telnet://, “nntp://”, and “worldwind://”) for detecting a URL includedin contents. For another example, the memory 130 may store extensioninformation (e.g., *.apk, *.jpg, and *.mp3) for detecting whether a filedownload is linked to a URL.

Also, the memory 130 may include at least one programming moduleincluding a kernel 131, a middleware 132, an Application ProgrammingInterface (API) 133, or an application 134. Herein, at least the oneprogramming module may be software, firmware, hardware, or a combinationof two or more of these.

The kernel 131 may control or manage system resources (e.g., the bus110, the processor 120, or the memory 130) used to execute an operationor function implemented in the other programming modules (e.g., themiddleware 132, the API 133, or the application 134). Also, the kernel131 may provide an interface which may access a separate component ofthe electronic device 100 in the middleware 132, the API 133, or theapplication 134 and control or manage the separate component.

The middleware 132 may play a role as a go-between such that the API 133or the application 134 communicates with the kernel 131 and transmitsand receives data. Also, the middleware 132 may perform load balancingfor work requests using a method of assigning priority which may use asystem resource (e.g., the bus 110, the processor 120, or the memory130) of the electronic device 100 to the work requests received from atleast the one application 134.

The API 133 is an interface in which the application 134 may control afunction provided from the kernel 131 or the middleware 132. The API 133may include at least one interface or function for file control, windowcontrol, image processing, or text control.

The user input module 140 may receive commands or data from the user andtransmit the received commands or data to the processor 120 or thememory 130 through the bus 110.

The display module 150 displays videos, images, or data to the user.

The communication module 160 may perform communication between theelectronic device 100 and other electronic devices 102 and 104. Herein,the communication module 160 may support a local-area communicationprotocol (e.g., Wireless-Fidelity (Wi-Fi), BlueTooth (BT), Near FieldCommunication (NFC), or network communication (e.g., the Internet, aLocal Area Network (LAN), a Wide Area Network (WAN), a telecommunicationnetwork, a cellular network, a satellite network, or a Plain OldTelephone Service (POTS)).

Each of the other electronic devices 102 and 104 may be the same device(e.g., the same type) as the electronic device 100 or a device which isdifferent (e.g., a different type) from the electronic device 100.

FIG. 2 is a block diagram illustrating a detailed configuration ofhardware according to embodiments of the present disclosure.

Referring to FIGS. 1 and 2, the hardware denoted by 200 may include oneor more processors 210, a Subscriber Identity Module (SIM) card 214, amemory 220, a communication module 230, a sensor module 240, a userinput module 250, a display module 260, an interface 270, an audio codec280, a camera module 291, a power management module 295, a battery 296,an indicator 297, and a motor 298. Herein, the hardware 200 may be theelectronic device 100 shown in FIG. 1.

The processor 210 may include one or more Application Processors (APs)211 and one or more Communication Processors (CPs) 213. Herein, theprocessor 210 may be the processor 120 shown in FIG. 1.

The AP 211 and the CP 213 shown in FIG. 2 are shown to be included inthe processor 210. However, the AP 211 and the CP 213 may be included indifferent IC packages, respectively. Also, the AP 211 and the CP 213 maybe included in one IC package. In addition, the processor 210 mayfurther include a Graphic Processing Unit (GPU).

The AP 211 may execute an Operating System (OS) or an applicationprogram, control a plurality of hardware or software componentsconnected thereto, and process and calculate various data includingmultimedia data. Herein, the AP 211 may be implemented as System on Chip(SoC).

The CP 213 may perform a function for managing a data link incommunication between other electronic devices connected with anelectronic device including the hardware 200 through a network andchange a communication protocol. Herein, the CP 213 may be implementedas SoC.

Also, the CP 213 may perform at least a part of a multimedia controlfunction.

Also, the CP 213 may identify and authenticate a terminal in acommunication network using an SIM (e.g., the SIM card 214). Herein, theCP 213 may provide a service including a voice call, a video call, atext message, or packet data to a user of the hardware 200.

The CP 213 may control data transmission and reception of thecommunication module 230.

In FIG. 2, components of the CP 213, the power management module 295, orthe memory 220 are shown as components which are separated from the AP211. However, the AP 211 may be implemented to include a part (e.g., theCP 213) of the components.

The AP 211 or the CP 213 may load and process commands or data receivedfrom at least one of a non-volatile memory or another componentconnected thereto to a volatile memory. Also, the AP 211 or the CP 213may store data which are received from at least one of other componentsor are generated by at least one of other components in a non-volatilememory.

The SIM card 214 may be a card implementing a SIM. The SIM card 214 maybe inserted into a slot formed in a specific position of the electronicdevice. The SIM card 214 may include unique identification information(e.g., an integrated circuit card identity (ICCID)) or subscriberinformation (e.g., an international mobile subscriber identity (IMSI)).

The memory 220 may include an internal memory 222 or an external memory224. Herein, the memory 220 may be the memory 130 shown in FIG. 1.

The internal memory 222 may include at least one of a volatile memory(e.g., a dynamic random access memory (DRAM), a static RAM (SRAM), or asynchronous dynamic RAM (SDRAM)) or a non-volatile memory (e.g., a onetime programmable read only memory (OTPROM), a PROM, an erasable PROM(EPROM), an electrically erasable PROM (EEPROM), a mask ROM, a flashROM, a NAND flash memory, or a NOR flash memory). Herein, the internalmemory 222 may include a type of a solid state disk (SSD).

The external memory 224 may include at least one of a compact flash (CF)card, a secure digital (SD) card, a micro-SD card, a mini-SD card, anextreme digital (xD) card, or a memory stick.

The communication module 230 may include a wireless communication module231 or a radio frequency (RF) module 234. Herein, the communicationmodule 230 may be the communication module 160 shown in FIG. 1.

The wireless communication module 231 may provide a wirelesscommunication function using RFs. For one example, the wirelesscommunication module 231 may include a Wi-Fi module 233, a BT module235, a GPS module 237, or a NFC module 239. For another example, thewireless communication module 231 may include a network interface (e.g.,a LAN card) or a modem for connecting the hardware 200 with the network(e.g., the Internet, a LAN, a WAN, a telecommunication network, acellular network, a satellite network, or a POTS).

The RF module 234 may control transmission and reception of dataincluding an RF signal or a called electronic signal. For example, theRF module 234 may include a transceiver, a power amplifier module (PAM),a frequency filter, or a low noise amplifier (LNA). Also, the RF module234 may include components (e.g., conductors or conducting wires) fortransmitting and receiving electromagnetic waves on a free space inwireless communication.

The sensor module 240 may include at least one of a gesture sensor 240A,a gyro sensor 240B, an atmospheric pressure sensor 240C, a magneticsensor 240D, an acceleration sensor 240E, a grip sensor 240F, aproximity sensor 240G, a red, green, and blue (RGB) sensor 240H, abio-sensor 240I, a temperature/humidity sensor 240J, an illuminationsensor 240K, and a ultra violet (UV) sensor 240M. Also, the sensormodule 240 may measure a physical quantity or sense an operation stateof the electronic device, and convert the measured or sensed informationinto an electric signal. For example, the sensor module 240 may includean olfactory sensor, an electromyography (EMG) sensor, anelectroencephalogram (EEG) sensor, an electrocardiogram (ECG) sensor, ora fingerprint sensor. Also, the sensor module 240 may further include acontrol circuit for controlling one or more sensors included therein.

The user input module 250 may include a touch panel 252, a pen sensor254, a key 256, or an ultrasonic input device 258. Herein, the userinput module 250 may be the user input module 140 shown in FIG. 1.

The touch panel 252 may recognize a touch input by at least one of acapacitive type, a resistive type, an infrared type, or an ultrasonictype. Herein, the touch panel 252 may further include a controller. Incase of the capacity type, the touch panel 252 may recognize not onlydirect touch input but also proximity touch input. The touch panel 252may further include a tactile layer. Herein, the touch panel 252 mayprovide a tactile response to the user.

The pen sensor 254 may be implemented using the same or similar methodas a method of receiving a touch input of the user or using a separatesheet for recognition.

The key 256 may include a keypad or a touch key.

The ultrasonic input device 258 is a device which may sense sound wavesusing a microphone 288 and verify data in the electronic device througha pen which generates ultrasonic waves. The ultrasonic input device 258may perform wireless recognition.

The hardware 200 may receive input of the user from an external device(e.g., the network 102 of FIG. 1, a computer, or the server 164 ofFIG. 1) connected with the communication module 230 using thecommunication module 230.

The display module 260 may include a panel 262 or a hologram 264.Herein, the display module 260 may be the display module 150 shown inFIG. 1.

The panel 262 may be a liquid crystal display (LCD) or an activematrix-organic light-emitting Diode (AM-OLED). Also, the panel 262 maybe flexibly, transparently, or wearably implemented. Herein, the panel262 and the touch panel 252 may be integrated with each other toconstitute one module.

The hologram 264 shows stereoscopic images on the air using interferenceof light.

In addition, the display module 260 may further include a controlcircuit for controlling the panel 262 or the hologram 264.

The interface 270 may include a high definition multimedia interface(HDMI) 272, a universal serial bus (USB) interface 274, a projector 276,a D-sub (subminiature) interface 278, a secure digital/multimedia Card(SD/MMC) interface, or an infrared data association (IrDA) interface.

The audio codec 280 may convert voices and electronic signals in atwo-way direction. For example, the audio codec 280 may convert voiceinformation input or output through a speaker 282, a receiver 284, anearphone 286, or the microphone 288.

The camera module 291 may capture images and videos. For example, thecamera module 291 may include one or more image sensors (e.g., a frontlens or a rear lens), an image signal processor (ISP), or a flash LED.

The power management module 295 may manage power of the hardware 200.For example, the power management module 295 may include a powermanagement integrated circuit (PMIC), a charging IC, or a battery gauge.The PMIC may be mounted in an IC or a SoC semiconductor.

A charging method of the power management module 295 may be classifiedinto a wire charging method or a wireless charging method.

The charging IC may charge a battery and prevent inflow of overvoltageor overcurrent from a charger. Herein, the charging IC may include acharging IC for at least one of the wire charging method or the wirelesscharging method. The wireless charging method is a magnetic resonancemethod, a magnetic induction method, or an electromagnetic wave method.In the wireless charging method, additional circuits (e.g., a coil loop,a resonance circuit, and a rectifier circuit) for wireless charging maybe added.

The battery gauge may measure the remaining capacity of the battery 296,voltage in charging, current, or a temperature.

The battery 296 may generate electricity and supply power. For example,the battery 296 may be a rechargeable battery.

The indicator 297 may indicate a specific state (e.g., a booting state,a message state, or a charging state) of the hardware 200 or a part ofthe hardware (e.g., the AP 211).

The motor 298 may convert an electric signal into a mechanicalvibration.

A micro control unit (MCU) may control the sensor module 240.

In addition, the hardware 200 may further include a processing device(e.g., a GPU) for supporting a mobile TV. For example, the processingdevice for supporting the mobile TV may process media data according tothe standard of digital multimedia broadcasting (DMB), digital videobroadcasting (DVB), or media flow.

Names of components of hardware according to one embodiment of thepresent disclosure may differ according to kinds of electronic devices.The hardware according to one embodiment of the present disclosure mayinclude at least one of the components. Some components of the hardwaremay be omitted or the hardware may further include other additionalcomponents. Also, some of the components of the hardware according toone embodiment of the present disclosure are combined and configured asone device. Therefore, the one device may equally perform functions ofthe corresponding components before some of the components are combined.

FIG. 3A is a block diagram illustrating a detailed configuration of aprogramming module according to embodiments of the present disclosure.

Referring to FIGS. 1, 2, and 3A, the programming module denoted by 300may include a kernel 310, middleware 330, an API 360, or an application370. The programming module 300 may be included (e.g., stored) in theelectronic device 100 (e.g., the memory 130) shown in FIG. 1. At least apart of the programming module 300 may be configured by software,firmware, hardware, or combination of two or more of them. Theprogramming module 300 may include an OS which is implemented in thehardware 200 of FIG. 2 and controls resources related to the electronicdevice 100, or may include the plurality of applications 370 executed inthe OS. For example, the OS may include Android, iOS, Windows, Symbian,Tizen, or Bada.

The kernel 310 may include a system resource manager 311 or a devicedriver 312. Herein, the kernel 310 may be the kernel 131 shown in FIG.1.

The system resource manager 311 may control, assign, or collect systemresources. For example, the system resource manager 311 may include aprocess management unit, a memory management unit, or a file systemmanagement unit.

The device driver 312 may include a display driver, a camera driver, aBluetooth driver, a shared memory driver, a USB driver, a keypad driver,a Wi-Fi driver, an audio driver, or an inter process communication (IPC)driver.

The middleware 330 may include a plurality of modules which arepreviously implemented to provide functions the application 370 uses incommon. Herein, the middleware 330 may be the middleware 132 shown inFIG. 1. Also, the middleware 330 may provide functions through the API360 such that the application 370 uses limited system resources in theelectronic device efficiently. For example, the middleware 330 mayinclude at least one of a runtime library 335, an application manager341, a window manager 342, a multimedia manager 343, a resource manager344, a power manager 345, a database manager 346, a package manager 347,a connection manager 348, a notification manager 349, a position manager350, a graphic manager 351, and a security manager 352.

The runtime manager 355 may include a library module used by a compilerto add a new function through a programming language while theapplication 370 is executed. For example, the runtime manager 355 mayperform a function for input and output, memory management, or anarithmetic function.

The application manager 341 may manage a life cycle of at least one ofthe applications 370.

The window manager 342 may manage graphic user interface (GUI) resourcesused on a screen of the electronic device.

The multimedia manager 343 may ascertain a format necessary forreproducing various media files and encode or decode a media file usinga codec corresponding to the corresponding format.

The resource manager 344 may manage source codes of at least one of theapplications 370, and manage resources of the memory 130 shown in FIG. 1or resources of a storage.

The power manager 345 may act with a basic input output system (BIOS),manage a battery or a power source, and provide power informationnecessary for an operation.

The database manager 346 may perform a management operation to generate,search, or change a database to be used in at least one of theapplications 370. For example, the database manager 346 may manageharmful site information (e.g., a URL or an IP) stored in the memory 130shown in FIG. 1.

The package manager 347 may manage installation or update of anapplication distributed by a type of a package file. For example, whenan installable file is downloaded through a URL, the package manager 347may install the corresponding file temporarily in a temporaryinstallation region before being actually installed.

The connection manager 348 may manage wireless connection of Wi-Fi orBT.

The notification manager 349 may display or notify events of an arrivalmessage, an appointment, and a proximity notification by a method whichis not disturbed to the user.

The position manager 350 may manage position information of theelectronic device.

The graphic manager 350 may manage a graphic effect to be provided tothe user or a UI related to the graphic effect.

The security manager 352 may provide all security functions necessaryfor system security or user authentication.

In addition, when the electronic device 100 shown in FIG. 1 has a phonefunction, the middleware 330 may further include a call manager formanaging a voice or video call function of the electronic device 100.

The middleware 330 may generate and use a new middleware module throughvarious function combinations of internal component modules. Themiddleware 330 may provide a module which specializes while beingclassified according to kinds of OSs to provide a differentiatedfunction. Also, the middleware 330 may dynamically delete some oldcomponents or add new components. Therefore, some components describedin various embodiments of the present disclosure may be omitted, othercomponents may be further added, or components having different namesfor performing similar functions may be replaced.

The API 360 as a set of API programming functions may be provided asdifferent components according to OSs. Herein, the API 360 may be theAPI 133 shown in FIG. 1. For example, in case of Android or iOS, one APIset may be provided while being classified according to platforms. Incase of Tizen, two or more API sets may be provided.

The application 370 may include a preloaded application or a third partyapplication. Herein, the application 370 may be the application 134shown in FIG. 1.

The programming module 300 may be implemented as instructions stored ina storing medium which is readable by at least a computer. When aninstruction may be executed by the one or more processors 210 shown inFIG. 1, the one or more processors 210 may perform a functioncorresponding to the instructions. The storing medium which is readableby the computer may be the memory 260 shown in FIG. 2. Also, a part ofthe programming module 300 may be implemented (e.g., executed) by theprocessor 210. A part of the programming module 300 may include a modulefor performing one or more functions, a program, a routine, aninstruction set, or a process.

Names of the components of the programming module 300 according to oneembodiment of the present disclosure may differ according to kinds ofOSs. Also, the programming module 300 according to one embodiment of thepresent disclosure may include one or more components listed above. Someof the components may be omitted. The programming module 300 accordingto one embodiment of the present disclosure may further includeadditional components.

FIG. 3B is a block diagram illustrating detailed configuration of a URLprocessing unit and a URL information providing unit according toembodiments of the present disclosure.

As shown in FIGS. 1, 3A, and 3B, an electronic device may include theURL processing unit denoted by 390 and the URL information providingunit denoted by 395. Herein, the URL processing unit 390 may include aURL detecting unit 391, a URL analyzing unit 392, an Internet connectingunit 393, and a file processing unit 394. Herein, in accordance with oneembodiment of the present disclosure, respective functions included inthe URL processing unit 390 and the URL information providing unit 395may be executed in one module. Or, respective functions included in theURL processing unit 390 and the URL information providing unit 395 maybe independently executed while being classified according to respectivemodules. Also, the URL detecting unit 391, the URL analyzing unit 392,the Internet connecting unit 393, and the file processing unit 394 maybe included in each of the applications 134 and 370 or each of themiddleware 132 and 330.

The URL detecting unit 391 may verify whether a URL is included inreceived contents. If it is sensed that the URL is included in thereceived contents, the URL detecting unit 391 may transmit acorresponding URL address to the server 164 through the Internetconnecting unit 394. Herein, when user input for the corresponding URLis generated, the URL detecting unit 391 may transmit the URL address tothe server 164 through the Internet connecting unit 393.

The URL analyzing unit 392 may verify whether the corresponding URLindicates a harmful site. Also, the URL analyzing unit 392 may verifywhether the corresponding URL is redirected. Herein, the URL analyzingunit 392 may further include a URL redirection verifying unit forverifying whether the corresponding URL is redirected. Transmitting theURL through the Internet connecting unit 393, the URL analyzing unit 302may receive an ACK message for redirection according to the URL. The URLanalyzing unit 302 may extract redirection URL information which repliesto the transmitted URL from the corresponding ACK message.

The URL information providing unit 395 may provide additionalinformation based on the result of processing the URL in the URLprocessing unit 390 and the result of analyzing the file in the URLprocessing unit 390. Herein, the URL information providing unit 395 mayperform a control operation to display information of the correspondingURL.

The file analyzing unit 394 may download a file linked to the URLtemporarily and analyze the downloaded file. Herein, the file analyzingunit 394 may verify whether the file linked to the URL is an installablefile and verify an authority requested when installing the file.

FIG. 4 is a flowchart illustrating a process of analyzing a URL includedin contents in an electronic device according to embodiments of thepresent disclosure.

Referring to FIG. 4, the electronic device detects a URL from contentsin operation 401. For example, the electronic device may verify at leastone of “http://”, “https://”, “ftp://”, “irc://”, “gopher://”,telnet://, “nntp://”, and “worldwind://” is included in the contents.Herein, the contents may include at least one of documents, messages(SMS message, MMS messages, and LMS messages), messengers, and mails.

Thereafter, the electronic device may analyze the URL included in thecontents in operation 403. For one example, the electronic device mayverify whether the URL is harmful. For another example, the electronicdevice may verify whether the URL is redirected. For another example,the electronic device whether a file download is linked to the URL. Foranother example, the electronic device may verify information of a filelinked to the URL. For another example, the electronic device may verifywhether the file linked to the URL is an installable file. For anotherexample, the electronic device may verify an authority requested wheninstalling the file, when the file linked to the URL is an installablefile. For another example, the electronic device may install theinstallable file linked to the URL temporarily and verify an authorityrequested when installing the file.

Thereafter, the electronic device displays the result of analyzing theURL in operation 405. For one example, as shown in FIG. 9B, theelectronic device may display a message indicating that the URL 907 isnot harmful (see reference number 911). For another example, as shown inFIG. 9C, the electronic device may display redirected final URLinformation of the URL 907 (see reference number 921). For anotherexample, as shown in FIG. 9D, the electronic device may display whethera file download is linked to the URL 907 (see reference number 931). Foranother example, as shown in FIG. 9E, the electronic device may displayinformation of a file linked to the URL 907 (see reference number 941).For another example, as shown in FIG. 9F, the electronic device maydisplay an authority requested when installing a file, when the filelinked to the URL 907 is an installable file (see reference number 951).

Thereafter, the electronic device ends the process of FIG. 4.

In the above-described embodiment of the present disclosure, theelectronic device detects the URL from the contents, analyzes the URL,and displays the analyzed result.

In another embodiment of the present disclosure, as shown in FIG. 5, adescription will be given for a message among contents as an example.

FIG. 5 is a flowchart illustrating a process of analyzing a URL includedin a message in an electronic device according to embodiments of thepresent disclosure.

Referring to FIGS. 1, 3A, and 5, the electronic device receives amessage in operation 501. For example, receiving a message through thecommunication module 160, the electronic device may perform a controloperation to execute the SMS/MMS application 373 and display a message903, as shown in FIG. 9A.

After receiving the message, the electronic device verifies whether aURL is included in the message in operation 503. For example, theelectronic device may verify whether at least one of “http://”,“https://”, “ftp://”, “irc://”, “gopher://”, telnet://, “nntp://”, and“worldwind://” is included in the message. Herein, the electronic devicemay include a URL detection module for verifying whether a URL isincluded in the message. If the URL is not included in the message, theelectronic device may end the process of FIG. 5.

Alternatively, when the URL is included in the message, the electronicdevice attempts to access the URL in operation 505. For example, asshown in FIG. 9A, when a URL (http://short-url.ss) 907 is included inthe message 903, the electronic device may receive an IP addresscorresponding to the URL (http://short-url.ss) 907 from a domain nameserver (DNS) and attempt to access the received IP address. Herein, theelectronic device may include an Internet connecting unit for accessingthe URL included in the message.

Thereafter, the electronic device analyzes the URL in operation 507. Forone example, the electronic device may verify whether the“http://short-url.ss” 907 is included in harmful site information storedin the memory 130. For another example, the electronic device may verifywhether an IP address corresponding to the “http://short-url.ss” 907 isincluded in harmful site information stored in the memory 130. Foranother example, the electronic device may verify whether the“http://short-url.ss” 907 is included in harmful site information storedin the server 164. For another example, the electronic device may verifywhether an IP address corresponding to the “http://short-url.ss” 907 isincluded in the harmful site information stored in the server 164.Herein, the electronic device may include a URL analyzing unit foranalyzing a URL.

Thereafter, the electronic device displays the result of analyzing theURL in operation 509. For example, the electronic device may display, asshown in FIG. 9B, information indicating whether the URL 907 indicates aharmful site (see reference number 911). Herein, the electronic devicemay include a URL information providing unit for providing a result ofanalyzing a URL.

Thereafter, the electronic device ends the process of FIG. 5.

FIG. 6 is a flowchart illustrating a process of analyzing a redirectedURL included in a message in an electronic device according toembodiments of the present disclosure.

Referring to FIGS. 1, 3A, and 6, the electronic device receives amessage in operation 601. For example, receiving a message through thecommunication module 160, the electronic device may perform a controloperation to execute the SMS/MMS application 373 and display, as shownin FIG. 9A, a message 903.

After receiving the message, the electronic device verifies whether aURL is included in the message in operation 603. For example, theelectronic device may verify whether at least one of “http://”,“https://”, “ftp://”, “irc://”, “gopher://”, telnet://, “nntp://”, and“worldwind://” is included in the message. Herein, the electronic devicemay include a URL detection module for verifying whether a URL isincluded in the message. If the URL is not included in the message, theelectronic device may end the process of FIG. 6.

Alternatively, when the URL is included in the message, the electronicdevice attempts to access the URL in operation 605. For example, asshown in FIG. 9A, when a URL (http://short-url.ss) 907 is included inthe message 903, the electronic device may receive an IP addresscorresponding to the “http://short-url.ss” 907 from a DNS and attempt toaccess the received IP address. Herein, the electronic device mayinclude an Internet connecting unit for accessing the URL included inthe message.

After attempting to access the URL, the electronic device verifieswhether a redirection code is received in operation 607. Afterrequesting an access to the “http://short-url.ss” 907, the electronicdevice may verify whether a “302” code is included in a received ACKmessage. Also, the electronic device may verify whether a code, forverifying that it is redirected, is included in the ACK message, inaddition to the “302” code. Herein, the electronic device may include aURL redirection verifying unit for verifying whether the URL isredirected.

If the redirection code is received, the electronic device receives afinal URL in operation 609. For example, when the “302” code is includedin the ACK message of the “http://short-url.ss” 907, the electronicdevice may verify a final URL address in a destination item included inthe ACK message.

Thereafter, the electronic device analyzes the URL in operation 611. Forone example, when the redirection code is not received, the electronicdevice may verify whether the “http://short-url.ss” 907 or an IP addresscorresponding to the “http://short-url.ss” 907 is included in harmfulsite information stored in the memory 130 or the server 164. For anotherexample, when the redirection code is received, the electronic devicemay determine whether a final URL of the “http://short-url.ss” 907 or anIP address corresponding to the final URL of the “http://short-url.ss”907 is included in the harmful site information stored in the memory 130or the server 164. Herein, the electronic device may include a URLanalyzing unit for analyzing the URL.

Thereafter, the electronic device displays the result of analyzing theURL in operation 613. For one example, the electronic device maydisplay, as shown in FIG. 9B, information indicating whether the URL 907or the final URL of the URL 907 indicates a harmful site (see referencenumber 911). For another example, as shown in FIG. 9C, the electronicdevice may display information about the final URL of the URL 907 (seereference number 921). Herein, the electronic device may include a URLinformation providing unit for providing the result of analyzing theURL.

Thereafter, the electronic device ends the process of FIG. 6.

FIG. 7 is a flowchart illustrating a process of analyzing whether a URLincluded in a message is linked to a file download in an electronicdevice according to embodiments of the present disclosure.

Referring to FIGS. 1 and 7, after attempting to access a URL (operation505 or 605), the electronic device verifies whether a file download islinked to the URL in operation 701. For one example, the electronicdevice may verify whether a file download is linked to the URL withreference to a “content-type” included in a header of Multi-purposeInternet Mail Extensions (MIME). For another example, the electronicdevice may verify whether a “*.previously defined extension” is includedin an ACK according to an URL access. If the file download is not linkedto the URL, the electronic device may analyze the URL in operation 507or 611. Also, when the file download is not linked to the URL, theelectronic device may display, as shown in FIG. 9D, informationindicating whether a file download is linked to the URL 907 (seereference number 931).

Alternatively, when the file download is linked to the URL, theelectronic device analyzes a file in operation 703. For example, theelectronic device may download a file to a partial area of the memory130 temporarily and verify information of the file. Herein, theinformation of the file may include at least one of a name, a type,capacity, a made date, and a corrected date of the file. Herein, theelectronic device may include a file analyzing unit for analyzing afile.

Thereafter, the electronic device displays the result of analyzing thefile in operation 705. For example, the electronic device may display,as shown in FIG. 9E, information of a file linked to the URL 907 (seereference number 941). Herein, the electronic device may include a fileinformation providing unit for providing the result of analyzing thefile.

FIG. 8 is a flowchart illustrating a process of analyzing an authorityrequested when installing a file linked to a URL included in a messagein an electronic device according to embodiments of the presentdisclosure.

Referring to FIGS. 1 and 8, after attempting to access a URL (operation505 or 605), the electronic device verifies whether a file download islinked to the URL in operation 801. For one example, the electronicdevice may verify whether a file download is linked to the URL withreference to a “content-type” included in a header of MIME. For anotherexample, the electronic device may verify whether a “*.previouslydefined extension” is included in an ACK according to an URL access. Ifthe file download is not linked to the URL, the electronic device mayanalyze the URL in operation 507 or 611. Also, when the file download isnot linked to the URL, the electronic device may display, as shown inFIG. 9D, information indicating whether a file download is linked to theURL 907 (see reference number 931).

Alternatively, when the file download is linked to the URL, theelectronic device verifies whether the file is an installable file inoperation 803. For example, the electronic device may verify whether a“*.installable extension” is included in an ACK according to a URLaccess. For example, in the case of Android, the electronic device mayverify whether a “*.extension” is included in an ACK.

When the file is an installable file, the electronic device verifies anauthority requested when installing the file in operation 805. Forexample, the electronic device may download a file temporarily to apartial area of the memory 130 and verify an authority requested wheninstalling the file. Herein, the electronic device may verifyinformation of the file, which includes at least one of a name, a type,a capacity, a made date, and a corrected date of the file. For example,in case of a file of a “file.apk” format, the electronic device mayanalyze a “MANIFEST.XML” file included in the “file.apk” file and verifythe authority requested when installing the file. For example, theauthority requested when installing the file in “MANIFEST.XML” may beexpressed such as “<uses-permissionandroid:name=android.permission.request authority”>”. Not verifying theauthority requested when installing the file through “MANIFEST.XML”analysis, the electronic device may install a downloaded filetemporarily and verify the authority requested when installing the file.Herein, the electronic device may include a file analyzing unit foranalyzing the file.

Thereafter, the electronic device displays the result of analyzing thefile in operation 807. For one example, the electronic device maydisplay, as shown in FIG. 9F, information about an authority requestedwhen installing a file linked to the URL 907. For another example, theelectronic device may display, as shown in FIG. 9D, information of afile linked to the URL 907 (see reference number 941). Herein, theelectronic device may include a file information providing unit forproviding the result of analyzing the file.

Thereafter, the electronic device ends the process of FIG. 8.

In above-described embodiments of the present disclosure, the electronicdevice analyzes the URL when the URL is included in the contents.

In other embodiments of the present disclosure, the electronic devicemay analyze a URL when selection of the URL included in contents issensed.

In above-described embodiments of the present disclosure, the electronicdevice displays the result of analyzing the URL when the URL is includedin the contents.

In other embodiments of the present disclosure, the electronic devicemay display a result of analyzing a URL when selection of the URLincluded in contents is sensed.

As describe above, the user of the electronic device may verifyinformation corresponding to the URL before the electronic device islinked to the URL by detecting the URL included in the contents,analyzing the URL, and displaying the analyzed result.

Methods according to claims of the present disclosure or embodimentsdescribed in the specification of the present disclosure may beimplemented as hardware, software, or a combination of hardware andsoftware.

When the method is implemented by software, a computer-readable storagemedium for storing one or more programs (software modules) may beprovided. The one or more programs stored in the computer-readablestorage medium are configured for being executed by one or moreprocessors in an electronic device. The one or more programs includeinstructions for allowing an electronic device to execute the methodsaccording to the claims of the present disclosure and/or the embodimentsdescribed in the specification of the present disclosure.

These programs (software module, software) may be stored in a randomaccess memory (RAM), a non-volatile memory including a flash memory, aread only memory (ROM), an electrically erasable programmable ROM(EEPROM), a magnetic disc storage device, a compact disc-ROM (CD-ROM), adigital versatile disc (DVD) or an optical storage device of a differenttype, and a magnetic cassette. Or, the programs may be stored in amemory configured by combination of some or all of them. Also, theconfigured memory may include a plurality of memories.

Also, the programs may stored in an attachable storage device capable ofaccessing an electronic device through each of communication networkssuch as the Internet, an intranet, a local area network (LAN), a wideLAN (WLAN), and a storage area network (SAN) or a communication networkconfigured by combination of them. This storage device may connect tothe electronic device through an external port.

Also, a separate storage device on a communication network may connectto a portable electronic device.

While the present disclosure has been particularly shown and describedwith reference to exemplary embodiments thereof, it will be understoodby those skilled in the art that various changes in form and details maybe made therein without departing from the spirit and scope of thepresent disclosure as defined by the appended claims.

What is claimed is:
 1. A method in an electronic device, the methodcomprising: detecting a URL from contents; analyzing the detected URL;and displaying the analyzed result.
 2. The method of claim 1, whereinthe detection of the URL from the contents comprises verifying whetherat least one of “http://”, “https://”, “ftp://”, “irc://”, “gopher://”,telnet://, “nntp://”, and “worldwind://” is included in the URL.
 3. Themethod of claim 1, wherein the analysis of the URL comprises verifyingwhether the URL is harmful using a harmful site database stored in amemory or a server.
 4. The method of claim 1, further comprisingverifying whether the URL is redirected based on an ACK message to a URLconnection request.
 5. The method of claim 4, wherein the analysis ofthe URL comprises analyzing the redirected final URL.
 6. The method ofclaim 1, wherein the analysis of the URL comprises verifying whether afile download is linked to the URL.
 7. The method of claim 6, furthercomprising temporarily downloading the file and verifying at least oneof a name, a type, a capacity, a made date, and a corrected date of thefile.
 8. The method of claim 6, further comprising verifying whether thefile is an installable file.
 9. The method of claim 8, furthercomprising verifying an authority requested when installing the file.10. The method of claim 9, wherein the verification of the authorityrequested when installing the file comprises temporarily installing thefile and verifying the authority requested when installing the file. 11.An electronic device comprising: a display; and at least one processoroperatively coupled to the display, the at least one processorconfigured to: detect a URL from contents; analyze the detected URL; anddisplay the analyzed result.
 12. The electronic device of claim 11,wherein the at least one processor is configured to verify whether atleast one of “http://”, “https://”, “ftp://”, “irc://”, “gopher://”,telnet://, “nntp://”, and “worldwind://” is included in the URL todetect the URL from the contents.
 13. The electronic device of claim 11,wherein the at least one processor is configured to verify whether theURL is harmful based on a harmful site database stored in at least onememory of the electronic device or a server.
 14. The electronic deviceof claim 11, wherein the at least one processor is configured to verifywhether the URL is redirected using an ACK message to a URL connectionrequest.
 15. The electronic device of claim 14, wherein the at least oneprocessor is configured to analyze the redirected final URL.
 16. Theelectronic device of claim 11, wherein the at least one processor isconfigured to verify whether a file download is linked to the URL. 17.The electronic device of claim 16, wherein the at least one processor isconfigured to temporarily download the file to the at least one memoryof the electronic device and verify at least one of a name, a type, acapacity, a made date, and a corrected date of the file.
 18. Theelectronic device of claim 16, wherein the at least one processor isconfigured to verify whether the file is an installable file.
 19. Theelectronic device of claim 18, wherein the at least one processor isconfigured to verify an authority requested when installing the file.20. The electronic device of claim 19, wherein the at least oneprocessor is configured to temporarily install the file and verify theauthority requested when installing the file.